javascript

推荐列表 站点导航

当前位置:首页 > 脚本编程 > javascript >

了解ES6中数组去重的两种方式

来源:网络整理  作者:  发布时间:2020-12-16 17:29
本篇文章给大家介绍一下ES6中数组去重的两种方式。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有...

了解ES6中数组去重的两种方式

Set 对象允许你存储任何类型的 唯一值 ,无论是原始值或者是对象引用。
has   返回一个布尔值,表示某个键是否在当前 Set 对象之中。  
new Set([iterable]);

参数:
forEach   对每个元素执行指定操作。  

经人提醒,再补充一种,[...new Set(arr)]

function unique(arr) { //定义常量 res,值为一个Map对象实例 const res = new Map(); //返回arr数组过滤后的结果,结果为一个数组 //过滤条件是,如果res中没有某个键,就设置这个键的值为1 return arr.filter((a) => !res.has(a) && res.set(a, 1)) }

方法二:

delete   删除某个键,返回true。如果删除失败,返回false。  
function unique(arr) { return Array.from(new Set(arr)) }

这个方法的代码量更少,简直不可思议。

方法一 分析

function unique(arr) { const res = new Map(); return arr.filter((a) => !res.has(a) && res.set(a, 1)) }

就这么短,就可以了,我们来解释一下为什么。

更多编程相关知识,请访问:编程学习!!

以上就是了解ES6中数组去重的两种方式的详细内容,更多请关注聚合云库其它相关文章!

mapFn   可选,如果指定了该参数,则最后生成的数组会经过该函数的加工处理后再返回。  
方法描述

数组的 from方法

本篇文章给大家介绍一下ES6中数组去重的两种方式。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

get   返回Map对象key相对应的value值。  

Map对象

方法二 分析

Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。

下表列出了 Map 对象的方法。

function unique(arr) { //通过Set对象,对数组去重,结果又返回一个Set对象 //通过from方法,将Set对象转为数组 return Array.from(new Set(arr)) }总结

这次说的两个方法,真的很简单,主要就是靠ES6里的新东西,难度不大,代码简单,主要就是多用用就好了。

箭头函数

has   返回一个布尔值,表示某个键是否在当前 Map 对象之中。  

了解ES6中数组去重的两种方式

方法一:

thisArg   可选,执行 mapFn 函数时 this 的值。  
方法描述
2、不会绑定this。

了解更多,点这里

iterable,如果传递一个可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等),它的所有元素将被添加到新的 Set中。如果不指定此参数或其值为null,则新的 Set为空。

Map是ES6 提供的新的数据结构。
return arr.filter((a) => !res.has(a) && res.set(a, 1)) //上面的代码可以改成这样 return arr.filter(function(a){ return !res.has(a) && res.set(a, 1); });1、箭头函数写代码拥有更加简洁的语法;
clear   删除所有的键/值对,没有返回值。  

相关推荐:《javascript视频教程

array.filter(function(currentValue,index,arr), thisValue)

参数说明:

ES6中数组去重的两种方式

不懂 ... 的朋友,可以看这里 js扩展运算符

const bar = ["a", "b", "c"]; Array.from(bar); // ["a", "b", "c"] Array.from('foo'); // ["f", "o", "o"]

Set对象

arrayLike   必需,想要转换成真实数组的类数组对象或可迭代的对象。  

数组的 filter() 方法

1.png

clear   删除所有的键/值对,没有返回值。  
Array.from(arrayLike[, mapFn[, thisArg]])参数描述

Set对象和Map对象一样,都有一个size属性,他返回Set对象的值的个数。

示例代码:

forEach   对每个元素执行指定操作。  

Map对象还有一个size属性,他返回Map对象的键/值对的数量。

Array.from() 方法从一个类似数组或可迭代的对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等) 中创建一个新的数组实例

语法:

Set中的元素只会出现一次,即 Set 中的元素是唯一的。

语法:

下表列出了 Set 对象的方法。

Set对象是值的集合,你可以按照插入的顺序迭代它的元素。
add   添加某个值,返回Set对象本身。  
delete   删除某个键,返回true。如果删除失败,返回false。  
set   给Map对象设置key/value 键/值对。  
filter() 方法创建一个新的数组,新数组中的元素 是 通过检查 指定数组 中 符合条件的所有元素。

语法:

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/javascript/4524.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

了解ES6中数组去重的两种方式

2020-12-16 编辑:

了解ES6中数组去重的两种方式

Set 对象允许你存储任何类型的 唯一值 ,无论是原始值或者是对象引用。
has   返回一个布尔值,表示某个键是否在当前 Set 对象之中。  
new Set([iterable]);

参数:
forEach   对每个元素执行指定操作。  

经人提醒,再补充一种,[...new Set(arr)]

function unique(arr) { //定义常量 res,值为一个Map对象实例 const res = new Map(); //返回arr数组过滤后的结果,结果为一个数组 //过滤条件是,如果res中没有某个键,就设置这个键的值为1 return arr.filter((a) => !res.has(a) && res.set(a, 1)) }

方法二:

delete   删除某个键,返回true。如果删除失败,返回false。  
function unique(arr) { return Array.from(new Set(arr)) }

这个方法的代码量更少,简直不可思议。

方法一 分析

function unique(arr) { const res = new Map(); return arr.filter((a) => !res.has(a) && res.set(a, 1)) }

就这么短,就可以了,我们来解释一下为什么。

更多编程相关知识,请访问:编程学习!!

以上就是了解ES6中数组去重的两种方式的详细内容,更多请关注聚合云库其它相关文章!

mapFn   可选,如果指定了该参数,则最后生成的数组会经过该函数的加工处理后再返回。  
方法描述

数组的 from方法

本篇文章给大家介绍一下ES6中数组去重的两种方式。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

get   返回Map对象key相对应的value值。  

Map对象

方法二 分析

Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。

下表列出了 Map 对象的方法。

function unique(arr) { //通过Set对象,对数组去重,结果又返回一个Set对象 //通过from方法,将Set对象转为数组 return Array.from(new Set(arr)) }总结

这次说的两个方法,真的很简单,主要就是靠ES6里的新东西,难度不大,代码简单,主要就是多用用就好了。

箭头函数

has   返回一个布尔值,表示某个键是否在当前 Map 对象之中。  

了解ES6中数组去重的两种方式

方法一:

thisArg   可选,执行 mapFn 函数时 this 的值。  
方法描述
2、不会绑定this。

了解更多,点这里

iterable,如果传递一个可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等),它的所有元素将被添加到新的 Set中。如果不指定此参数或其值为null,则新的 Set为空。

Map是ES6 提供的新的数据结构。
return arr.filter((a) => !res.has(a) && res.set(a, 1)) //上面的代码可以改成这样 return arr.filter(function(a){ return !res.has(a) && res.set(a, 1); });1、箭头函数写代码拥有更加简洁的语法;
clear   删除所有的键/值对,没有返回值。  

相关推荐:《javascript视频教程

array.filter(function(currentValue,index,arr), thisValue)

参数说明:

ES6中数组去重的两种方式

不懂 ... 的朋友,可以看这里 js扩展运算符

const bar = ["a", "b", "c"]; Array.from(bar); // ["a", "b", "c"] Array.from('foo'); // ["f", "o", "o"]

Set对象

arrayLike   必需,想要转换成真实数组的类数组对象或可迭代的对象。  

数组的 filter() 方法

1.png

clear   删除所有的键/值对,没有返回值。  
Array.from(arrayLike[, mapFn[, thisArg]])参数描述

Set对象和Map对象一样,都有一个size属性,他返回Set对象的值的个数。

示例代码:

forEach   对每个元素执行指定操作。  

Map对象还有一个size属性,他返回Map对象的键/值对的数量。

Array.from() 方法从一个类似数组或可迭代的对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等) 中创建一个新的数组实例

语法:

Set中的元素只会出现一次,即 Set 中的元素是唯一的。

语法:

下表列出了 Set 对象的方法。

Set对象是值的集合,你可以按照插入的顺序迭代它的元素。
add   添加某个值,返回Set对象本身。  
delete   删除某个键,返回true。如果删除失败,返回false。  
set   给Map对象设置key/value 键/值对。  
filter() 方法创建一个新的数组,新数组中的元素 是 通过检查 指定数组 中 符合条件的所有元素。

语法:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/javascript/4524.shtml

相关文章

风云图片

推荐阅读

返回javascript频道首页